package com.atguigu.mybatis.mapper;

import com.atguigu.mybatis.pojo.Emp;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface EmpMapper {

    /****
     * 字段和属性不一致的处理
     * 一、使用mysql的别称
     * 二、使用resultmap来映射
     * 三、使用配置来进行映射
     将下划线映射为驼峰
       <setting name="mapUnderscoreToCamelCase" value="true"/>
     * @param eid
     * @return
     */
    Emp getEmpByEmpId(@Param("empId") Integer eid);
    /**
     * 获取员工以及所对应的部门信息  级联方式
     * @param empId
     * @return
     */
    Emp getEmpAndDeptByEmpId(@Param("empId") Integer empId);

    /****
     * 获取员工以及所对应的部门信息  Association方式
     * @param empId
     * @return
     */
    Emp getEmpAndDeptByEmpIdAssociation(@Param("empId") Integer empId);

    /**
     * 通过分步查询查询员工以及所对应的部门信息的第一步
     * @param empId
     * @return
     */
    Emp getEmpAndDeptByStepOne(@Param("empId") Integer empId);


    /**
     * 通过分步查询查询部门以及部门中的员工信息的第二步
     * @param deptId
     * @return
     */
    List<Emp> getDeptAndEmpByStepTwo(@Param("deptId") Integer deptId);
}
